perm filename FMUNGE.REF[UP,DOC]4 blob
sn#295677 filedate 1977-07-24 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00009 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 FMUNGE is a hack for playing with fonts. It's primary purpose is
C00003 00003 Reading and writing fonts:
C00006 00004 Font tables and memory:
C00008 00005 Other misCellaneous commands:
C00010 00006 The f@=eSChαβ?2∞8
≡Ky≠nD→Z ⊗→y]εE⊂X___L⊂___≠Dk]→V_⊂λ⊂ P9Xvx6 % star/dot glypH (W fpom NGR25)
C00013 00008 The @IKghA=HAiQ∀A¬≥h~∃ε`@`bl@@```r%βCmK¬ht4T→AAAλεr∧,hITXh(2cXh `LiZTtq(~.P0P4_quP&or p@1CsS]≤AoSi AM@?w#M 2∧ ↔"|h≤∞-8εpy≡P8:`2pose is
@Q↑Aakβ!β∂#∂∪π∂S-∪@~ε≥nFzε∀
F/GDfNfTλ
m<Y(∞M→>(<;H_LT→9~.L9λ∃m≡~λ⊃~~2@
@∃ISi←β⊃1α⊗αJbrα _
∧x;@≥≤{h∞<Y[n
+λ_.P;rP≥tv6⊂→2yq`2ibe, misc@∃YP∪πv+?WLhS?S#-⊃βSK∞sG≠}-V∂&≥yg4≠{@∂≥⎇<@⊂→5w:9Kε@
The p@I←GeC4XAoQ∃\Agi¬e`∪↔ ¬Bε⊗\⎇⊗w~/∩ε&≡>εf∂≥≥f*ε∀∞6F␈.@λ
M<⎇⊂≠qεE 4he avaidable cOmmands* A star prompt requesTpεABA
←[[C9H\4P2K↔∞#';≥ε;⊃β?∪'S'v9β≠?w#Mh4PJS#∃ε3'KO ∧ε≡f≡8d
yH⊂m⎇98;LNh
⊃l↑λ_;LD∀≥0~
P0y2H:yrrλ33y reading
and writing a font (.FNT file) from me`≠←Ir\@AQQJAge]`∪π@βπ;⊃π≠↔7πw#'∂MεK∃hhP4*∨YcSπf)β;Wn∪↔I{sc≠?;&sπ7∃r↓↓↓M∪↔π⊃αC∨↔QJβS#∃π∪↔GW/≠S↔⊃ε3?;QεK;S=π#π3(h($$HIsSπ⊗c∃β;.k↔Irp4*C[cSπf)β;Wn∪↔I{sc≠?;&sπ7∃p↓↓↓M;K'S*↓#CW ¬∩π&Tε6}nDεNr∞L⊗⊗@→(∂∞L8[⊃$
];8L↑OC"A⊃"";mn≠h≥
(→Z-L(∂⊃M⎇]≠X-\-KC!)>o≥≤[→(
n;8Y.'←O→M⎇]≠X-\,π∧i→pr⊂∀~w8:z
P:42H92xzYyz2rλ1t0y_qz2y≤P397[PεE∧BDDs7[:⊂34[2P≡#≠w:70[r←⊂4[:7P:_q62P∂:0q6→P7:vX2y∨↔βE∧DDBjw64ZrP:4→P#P1[vvpw→⊗⊂$P→7ryw z⊂2y_yrP:~2PεEαDDDx≤2{4w]yP1t_y0qz→y9P0[92pr≡P4w⊂≥40z≥0q62KεEεEαj7P:≤0w9s→y⊂12];rrwλ:42P~w:2y≠0v⊂3≠w:⊂3≠y6pzλ7s⊂#∪jg#bK⊂0w2λ2r4z_q62FB37y6K⊂∀42[1rs7\:4⊂⊃∀z0y↔Q7z⊃⊂→7y6p]∀P:4→P)2pY⊂0w2λ+y4z→P1wv[pw29H0y2P≥yrr≥βEεE)≡z0q6→P7:vX2y∨?∂34v2[0vr←αi2prλ:42P≤2xz`%sted characters from the star=I←h~(∩∩∩∪→SYJX↓S]i↑↓iQJA→←]hAβ#π3*q↓αSF)β≠'d∧Rεo↑8
∧Y#"A⊃""8$∞X;⊂∀Y⊂"`∀V f`∨e5ChAM%YJ\~)/wiC YJA]U[EKdβsy`&m→F.v≥\SpM}-↔&*∞Mε*π,↑↔.∂>LV"ε=↔,8⎇→..h→\M⎇(→Smnλ∂∃≤[→#!!"""-n;8Y.'β⊂7w≥7P:4→P34v→P≡3$[2p∞ame> iN star/dot format.~∀$∩∩∪)!JAMS1JAiQUbAGe∃CiKHαβ'Mβ⊗+π∪@∀f␈∩λZE2α9voεLX
Q"B"!⊃=z=
∧→~4L\⎇≠tO∀≤_9lU+C"JO⎇_8ML(≠]-\Y<GOdλλλ∧∧λλλ∧↓5≡<T≥~→$∞Y<=,↑⎇→9∧z_<L≤⎇→<NP397[P37w≥⊂≡:0X4∧e
numbeR> on yourterminal in star/dot format ≤~(~∃)Q∀A∩XAHXA(X↓C]HA\AG←[5C]If↓eKckα+OQβ
β∂#π⊗∂S↔⊂∧π≡=H∧
~_=∧
<kλ∞M→>(∞⎇;≠β!.≤[{.∞λ≡0↔]P37iλ:42P≥t4qtλ4πf @QQJAG!CeCGβ#↔KMεK∃β&yβ∃∧ε&.∞D
w∩π}-↔'&]abα∧⊃Q&w;≠λ
M;Y(¬
]<p~λ0P≡ 2eturn>) implies all characters in @QQChAα3'3∃ph($*&C∃αIε;⊃α8∧ε≡}]\⊗v'4λ
∂≡→(~~2P70[rp∂f each character↓CfASPAEKO%]fAi<~∃ae=G@↔O~β'Q→ααS#↔≤∧Rε≡⎇]V∞vN4αF∞l@λ∞M→(∃∧{{;,≥Y
(
\>(_LT~;]↑]<⊂~→r⊂1<CE:<`0ing <escape>I.
λ∧⊃≠⎇h
∧∞α0q6→yP0w→⊂6b`-lπert4⊂λhαB1IZ3Qq∧Y;4Yxεes ihAi!JAKQ GC↔v≠∃β?2βS#K(∧Rε6β{@~λ8∧ables _@εsW31b↓≥`Q(λ-lλλ@⊂
_⊂ 1 @↓⊂¬∩`$λ⊃~∞↓yP ↓QQJAFε{77πv!`⊂ ¬εE⊃PπFIX250→Fπ⊃xhαC"↓≤0pr9H εAXHj@:~p
E@;⊃t
li`≥ih
i↑↓`∪π`Rβ
¬λ
-lε2y`3 p∪@>αTεF∂h (∀⊃R6ε&+QSJD≠{@∨≥⎇8C!24`3@,AC@#L∧↔4_8 2_P∞ ∩~(→∨iQ⊃dA[SMG@↔3f;↔∨,ε2ε≡⎇]V∞vN7 hPβ"P'Lz_<Ml8εr←↔↑1t0\50vrO∧@ AspπSO]5K]hAα≠?7\≥f"r∧λf␈∩
≥g∨&≥l6*B↓Q HH⊃_⊗Z=zp h⊂α""!≡_:y.∀_;Y∧
8:y.P:42H3r0→@APA←L↓P
β'p∧π&∞-H $
xπ2Vβ@
↓ the pπC@7*βπMβ&C∃β∨dπ↔εB
x D
h→P→≠vP:0X0∧e 2,~(hR≠ms&&TλN]8Y 9∂? Cha`≥O∀Ag←[∀AP∨→εFF*`mnα⊂1d_y0q@tera`&π#'∂M∧¬v $≥~_.A ¬∧DBDs7g≥⊂⊂λf@=]`⊃βF+'∨# ¬BεN↑8l≤βrV⊂~2p ght above baqa`→Sαs∃9$hP4TO0∂∞L8[⊂∩H4εumber>`<$∪ KYα+S∃β&CπQβ4¬vwαβC"AP¬!DDBDat0\αacter edit moDe ≤@AAKe[Sβ#@~πα;p~H:7P #ha`≥O∀~∀α∩$∪gKmα+@⊗∞βλ⊂↔Yα the characte@ISgiSα≠@~ε|aP@Hα"",]≤8⊂∀≤Tε Curre@9iY`%bβS#∃∧¬wπ&≥yg4_<Y!Q@∧b∧BD@ Delete thic `πQCe¬GiKdαp4(→1⊂HH~8W"πMRε@→9@~λ%ry7λ4πf QQSfAα≠#πK∞≠S↔Iph ⊂Mq⊃⊂HM<X
∧∞~~4dz_<L≤⎇→0→ yP;tY:4↔εB∧@ To @∃qShAα+'S#,ε"εf⎇x¬D→z5LT_(∪N]≠λ→→x64WβE
B ∩α∪λπ31∧∩ε&1αC'2∂_n↓y⊂; %p¬gS←8AP∨→∧26V:<)β#π~βπ≥APPHα""-Mβpr2Y↔∀P⊂∩pε y@=`∃β/v{]β←FQβG⎇)∨K∃∧#7π≠8¬Bπ&XLQ ¬∧DBDpy2H8¬se@→kXAi!S]Ofworld
when the save command was issued.
H, ? Redisplay the help info.
E Exit back to the monitor.
Fmunge sometimes keeps track of its users (so that I can find out
if anybody ever uses the damn thing).
The format of star/dot files:
The file must be an ETV format file. FMUNGE uses the directory
to find the characters in the file.
Each character has a page to itself. The first line of the page
has the form:
<char>:<character width>,<left kern> <comment>
You can then skip some blank lines before the glyph definition.
The rest of the page defines the character. The first non-blank line
determines the raster width of the character. Periods, spaces are interpreted
as "undark" points; tabs are converted to a SINGLE space,
and all other printing characters are "dark" points. Lines after the first
need not extefd to the fuLl width of the characterQC]H↓GQCe¬GiKeLAEKsα{;⊃β&CπP4TεvN'Mλ≡Y(∩,⎇Xπy2Y∀W⊂⊂∃42P7→|:⊂8_qrP7Yα thiq fi@1JASf↓BAgC5aP∪∃¬≠SπI}#?Qβ>cgC!ph ⊂e;&"2cα∧∧∧
π<≥Wε@→(≤nL<Ky
}λ→{∂≡~λ
T→\[mT∪QtF&*#"AQKKKEeKKKEeKKKEeKKKEeKKKAQJJKEeKKKEEJJKEeKKKEeJKKAQJJKEeKKKEEJJKEeKKKEEJKKAQJJKEeKKKEEJJKEeKKKEEJKKAQJJKEeKKKEEJJKEeKKKE@∃∃↔↔βE∃∃∃↔↔↔↔
∃∃∃∃↔↔↔↔
∃∃↔↔βE∃∃∃↔↔↔↔
∃↔∃∃↔↔↔↔
∃∃↔↔βE↔∃∃↔↔↔↔
∃↔∃∃↔↔↔↔
∃↔↔↔βE↔∃∃↔↔↔↔
∃↔∃∃↔↔↔↔
∃↔↔↔βE↔∃∃
↔↔↔***.***...(TT\\8~∀\T(T\\\αQ))9RQ)99p¬"RRee`hRe`
E%KK@∃
↔↔↔**...(T\\\8~∀\\αQ)99p¬"Rre`
E%KK@∃
↔↔↔↔βE↔↔***.***...(TT\T(T\\\8~∀\\(TT\T(T\\\(TT\T(T\\\8~∀\\8TT\T(\\\\8TT\T(\\\\8~∀\\8TT\T(\\\\8TT\T(\\\\8~∀\\8TTTT(\\\\8TTTT(\\\\8~∀\\8\TTT8\\\\8\TTT8\\\\8~∀\\8\TTT8\\\\8\TTT8\\\\8~∀\\8\\\\8\\\\8\\\\8\\\\8~∀→)QJ↓eKghαβ?2∞Mε*∧)hcPH!→↔&.↑4εNr.&∞≡↑4ε∂⊗T wπ&≥⎇f∞bβHλ ≡→;<d
;H_N0qur]9P0y→P22yXy4th≥4{2WβE∃⊂ )ndicAtes 0 kr more @IKaKi%iS←]LAP∨→εFF∂D ↔&.U`λ∧∧∀{s,T≤|⊂⊂Xp¬s Are iGnkreD
on↓S]akβ!`~βN,W'<[@∨⊂≡0v≥0sr2O⊂0w2λ≤∧fo@I[EKK⊂|ACe∀AIKYαK7'S-∪E8∀Ph)cS∞∪3∃βw+7↔⊂πbαβ''Rαα∧∧rαπβλλD∧λλ⊗h≥H_8N<;]⊂≥0q6 % jumber indicates tabh J@@Y:4Sc⊂⊗}nMf∞nW`λ∧∧λλλπ'M(λ_;↑(
L9x;∧
p23∧X∧v % name. Dedaul@PAKqi∃]gS←8@p∃↓∩r~:Q∩p4($J↓↓↓↓αα'2∞Mε*ε|λW,=~0↔[⊂4yP_P92pY⊂7p⊂ep¬CiSα{91β&C↔9β&C∃β≠|sP4!⊃∩αα∧∧απ>≥@∧;_ `/ be sought o`≤Am1≡Ae~fNup∧α∧4ZYd<*∞⎇⊗fb
mw hαB"$∧λλλ∧∞|Z0~→P7w Xπ1∂ 1'3':βk]@3/≠@~πα;u$>≤⊗~qtz6≡P92`1u`ghαβ'P4PH%↓↓α↓↓↓
p≤D<Y(≥~8<l\λ≥≠dv⊃t¬Jv4w%∃β⊂ ≥
8 MRαc↔;πn)y↓↓α↓↓↓iQi↓αn∞seβ3,;π1β6K3∃βv7∃9αα∪↔≠∂+3Qβ-CS↔;≤¬⊗}rmwαπ>L↔∩}M}@hP⊃∀ααα∧∧ε6NL↑2εO4∧"t≤
$"uhQ!PSf=↔⊗f≡>Crα∧∧ααβ''RααπH6F∂'`
D∧λλ⊗h∀≠];
D∂_z≡[~<nGH~;LM8x=↑h→=L↑↑(_m<X8nL<KW!QC"O=_<[L≥9/H∧∧λλλπ'O(λ∧π_z_.'↑o≥≤[→(
n;8Y.'←C"AQO_z≡OHλ∧∧λλλ∧∧λ∞FGTλλ⊗m]|⎇⊂≠pε the chap¬CGi∃efA←8AiQJ↓WKsE=CeI:αβq↓
fO∂'Jβ;W7⊗+Ix4Ph)`&≥NFn}LWbαα∧∧ααβ''Rαα:FF*≥G&n|LRε↑←≠PhPQ'F≡F≡,⊗∨&↑ λ∞⎇9≥~πgNO(∧x(⊃\z;8-D≠];,,<H⊂∀[24qp]4w3@ the Logical width of this
character.]¬
<leFt kern8@@@ttzα↓↓↓α↑ β∪↔≤K7π1∧sW7(ε"εNlM⊗≡∂M≥f 4≥~→$
→9P~λ5ry7λ4πf @QQSfA
QCeC
iKd]t~∀4T ↓sK,εG/⊗g`ε∂~∞,Wεgα(∃
t_(⊃M≥→(≠L≥9(⊂→→xzry]⊂0q7\8∧s The reques@PX ↓α∞qβπ3&k?&QQ&Nr∞,W∂ε⎇n6*πMtε
ε=↔,8⎇→.$≠~4nD≤Y4.\αyz is lik`oSMJAC\↓CEOeP\@A∪α1βg?αTε ,8;β!∞≠h∀n↑≤≠⊂∩H9wvrH4p∞f@=aP↔π&K?91πK?Eβ>K3 "
x NL8π⊂ "e prompte@⊂AM@?⊂∧εO"βC"@↓Hx8%at:
P QJπ∪∃βεα,Rε⊗β⎇ 7→⊂:7P_2P9@oh@∃βl¬wε
.V}h~ 7λ8∧hI@LAae←α;@⊗∞β+@⊂λ!p∂m@AP∪π≥`λ
≤β
@e←bALεK;⊃β∞se2∧
W<αP0zλ8p∂`+HAP∨←pπ@⊗N90D∧⊂0h ∀≤⎇_.L9⊂↔\αigi↓9CYYJaβ'↓D}2ε
¬λ⊗=hπεE∩P;p∩nte i↓PA`∪=F`4≤p↔`-eth@Sαs:εmp≤D
αr@;i`A∩π!∨Mβ-∧6.]0⊗⊂→α`∨d↓∧π⊗␈*D→M≥Y+C!∧j42↓p¬JARβ→βf|N2ε↓8πy2λ8∧hat c`∨jεc⊃β*βπ&LP→∧∞α7Pthic A`>x∧X-Tπ⊂⊂$H0
`∪O!hAKlε+;@'\≥Fg↓ εE 'et arou`≥Hβi@=βH∞B`$λ∩
\∧st 4 `
@? ¬bα∧α9H∞M→<Y$}h≤`7Z¬`iQ%]@≥βH
wT→<`≤\z8;
N∧P;p[8∧ _A$~¬@7L∧vGλ→y.D_8[N]Yλ⊂~≠P4`4pπ←O]⊂A8Q!P@! ∧DDB@ Bo@λA≠≥@,≥